package com.smh.a04FuncationQuoteDemo1;

import java.util.Arrays;
import java.util.Comparator;

public class FunctionDemo1 {
    public static void main(String[] args) {
        Integer[] arr = {1,2,3,4,5,6,7,8,9};

        Arrays.sort(arr, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2-o1;
            }
        });
        for (Integer i : arr) {
            System.out.println(i);
        }

        Arrays.sort(arr,(o1, o2) -> o1-o2);
        for (Integer i : arr) {
            System.out.println(i);
        }

        //方法引用
        //函数式接口
        //被引用方法必须存在
        //别引用方法的形参和抽象方法的形参保持一致
        //被引用的方法要满足当前的条件

        //表示引用functionDemo1中的subtraction方法
        //把这个方法当作抽象方法的方法体
        Arrays.sort(arr,FunctionDemo1::subtraction);
        for (Integer i : arr) {
            System.out.println(i);
        }
        //::方法引用符

    }
    public static int subtraction(int num1,int num2){
        return num2-num1;
    }



}
